Christoph Krapp [Sat, 22 Nov 2025 21:34:04 +0000 (22:34 +0100)]
ipq40xx: convert Orbi led labels to function/color
The eight leds controlled by the LED controller are RGB leds themselves
but are flashing white by default. The color part is controlled by GPIOs
53 (green), 54 (red), 57 (blue) and 60 (white).
Therefore define the led nodes of the controller as white instead of RBG
as well as backlight as their function.
Signed-off-by: Christoph Krapp <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20877
Signed-off-by: Robert Marko <[email protected]>
Christoph Krapp [Sat, 22 Nov 2025 19:42:33 +0000 (20:42 +0100)]
ipq40xx: fix second 5ghz radio on Netgear RBx40
When support was added for the RBR40 and RBS40 it was assumed that they
also share the same second 5ghz wifi chip as their bigger siblings.
Turns out that instead of QCA9984 (RBx50, SRx60) these devices use
QCA9886 like the RBx20 devices to.
They also load different boardfiles for the IPQ4019 chip.
This moves the wifi nodes from the orbi.dtsi to each device dts file and
change the RBx40 boardfile variants.
Signed-off-by: Christoph Krapp <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20877
Signed-off-by: Robert Marko <[email protected]>
Christoph Krapp [Sat, 22 Nov 2025 19:40:49 +0000 (20:40 +0100)]
ipq-wifi: add entry for Netgear RBK40
Add boardfile override packages for Netgear RBK40 devices.
Signed-off-by: Christoph Krapp <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20877
Signed-off-by: Robert Marko <[email protected]>
Christoph Krapp [Sat, 22 Nov 2025 19:25:29 +0000 (20:25 +0100)]
ipq40xx: fix Netgear RBR40 wan mac
The WAN port currently has the same MAC set as all the other LAN ports.
Fix this by adding the missing case in ipq40xx_setup_macs().
Signed-off-by: Christoph Krapp <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20877
Signed-off-by: Robert Marko <[email protected]>
Christoph Krapp [Sat, 22 Nov 2025 19:20:14 +0000 (20:20 +0100)]
ipq40xx: split orbi devices in router and satellite
Netgear Orbi devices are split into router and satellite units. Even
though the hardware is mostly the same, the network configuration is
different. Router units have a designated WAN port while satellite units
have all available ports labeled as "Ethernet".
This splits the device trees into both unit types and adjusts the port
labels.
Signed-off-by: Christoph Krapp <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20877
Signed-off-by: Robert Marko <[email protected]>
Robert Marko [Tue, 16 Dec 2025 09:27:34 +0000 (10:27 +0100)]
ipq-wifi: update to Git HEAD (2025-12-16)
10eddd6f1cba qca4019: qca9888: add bdfs for Netgear RBK40
Signed-off-by: Robert Marko <[email protected]>
Christoph Krapp [Mon, 10 Nov 2025 22:44:21 +0000 (23:44 +0100)]
qualcommax: ipq807x: use ascii-env driver for Linksys MX4200v1
Just like it has already been changed for v2, use the ascii-eq-delim-env
driver to extract the label mac from the devinfo partition.
Signed-off-by: Christoph Krapp <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20732
Signed-off-by: Robert Marko <[email protected]>
Mario Andrés Pérez [Sun, 14 Dec 2025 17:45:10 +0000 (18:45 +0100)]
sunxi: image: sync target profiles names with DT compatible
Following up with errors reported in the ASU repo, these bananapi cases
do not match the DT compatible "bpi", sync with dts sources.
Also some profiles were overwriting SUPPORTED_DEVICES.
Sysupgrade would be failing in SUPPORTED_DEVICES check since
the DT compatible(/tmp/sysinfo/board_name) is not in SUPPORTED_DEVICES.
This should also fix errors when using ASU sysupgrade clients.
- Sync profile makefile target names with DT compatibles.
- Fix overwrites of SUPPORTED_DEVICES instead of appending.
- Adapt the uboot-sunxi profiles accordingly.
*bpi-p2-zero dts is still not upstream.
V2:
- Include fixes for arm926ejs(ARM926EJ-S) subtarget (LicheePi Nano and
PopStick v1.1) (profile rename for correct default SUPPORTED_DEVICES)
Fixes: https://forum.openwrt.org/t/luci-attended-sysupgrade-support-thread/230552/246
Fixes: https://github.com/openwrt/asu/issues/486
Fixes: https://github.com/openwrt/asu/issues/524
Fixes: 9aa66b8ce730aebff76d353392151708a897a3a0 "sunxi: add support for Banana Pi M2 Berry"
Fixes: d5f615bf2a0434c15d13943b566d46f25da579bb "sunxi: add support for Sinovoip Banana Pi M2 Plus"
Fixes: 3819c1638a9d300840d0f869628891f9696be112 "sunxi: Add support for Banana Pi M2 Ultra"
Fixes: 6bf8193b25a147abfe3720104e63af890c1ca2b8 "sunxi: add support for Bananapi P2 Zero"
Fixes: 80edfaf675364835e6d2e17d97ebec6afc6b2103 "sunxi: add support for Banana Pi M3"
Fixes: 3c24a1d423a6052b101c00cb7d94e70d72702639 "sunxi: add support for NanoPi NEO Plus2 board"
Fixes: a689307c970e37c247c6452ba3963be8b109eb4f "sunxi: build image/uboot for the NanoPi NEO2"
Fixes: fde68cb80941a60be93ece75e808b5b407d11cc8 "sunxi: add support for FriendlyARM NanoPi R1S H5"
Fixes: 3ec468ff4fa3106d459ae58ec4bc4833715118c6 "sunxi: add F1C100 (arm926ej-s) support"
Signed-off-by: Mario Andrés Pérez <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/21095
Signed-off-by: Hauke Mehrtens <[email protected]>
Karsten Sperling [Fri, 12 Sep 2025 03:49:13 +0000 (15:49 +1200)]
scripts,ipkg-build: Fix error message for invalid package name
Use the correct variable ($pkg instead of $name) in the error message.
Signed-off-by: Karsten Sperling <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20077
Signed-off-by: Hauke Mehrtens <[email protected]>
Hauke Mehrtens [Tue, 16 Dec 2025 00:22:26 +0000 (01:22 +0100)]
libcap: Revert "libcap: update to 2.77"
This reverts commit
c25265953b9c06fafc6091982468ed0cfc30abb0.
Linking of libpsx.so from libcap 2.77 fails on powerpc 464fp. Revert
back to the older version which works.
Bug report: https://bugzilla.kernel.org/show_bug.cgi?id=220860
Fixes: c25265953b9c ("libcap: update to 2.77")
Signed-off-by: Hauke Mehrtens <[email protected]>
Martin Nadvornik [Mon, 15 Dec 2025 15:54:52 +0000 (16:54 +0100)]
mediatek: fix IPv4 address missing on interface in failsafe mode for cudy ap3000-v1
cudy ap3000-v1 did not work correctly in failsafe mode
because the address 192.168.1.1 was missing on the eth0 inteface.
it was reachable via it's IPv6 link-local address however.
this commit fixes the issue.
Fixes: https://github.com/openwrt/openwrt/issues/20750
Signed-off-by: Martin Nadvornik <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/21172
Signed-off-by: Hauke Mehrtens <[email protected]>
Rany Hany [Mon, 27 Oct 2025 16:14:22 +0000 (16:14 +0000)]
wifi-scripts: ucode: improve formatting of expected throughput
Convert to MBit/s like all other fields and specify the unit.
Most users probably aren't aware that this is in kilobits/s.
Signed-off-by: Rany Hany <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20567
Signed-off-by: Robert Marko <[email protected]>
Rany Hany [Sat, 29 Nov 2025 00:04:09 +0000 (00:04 +0000)]
wifi-scripts: add support for using list for iface in wifi-station/vlan
This is a trivial change to allow users to use 'list' on iface.
Old wifi-scripts already implements this, so this just ensures
that shell-based and ucode wifi-scripts are on-par with each other.
Signed-off-by: Rany Hany <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20977
Signed-off-by: Robert Marko <[email protected]>
Rany Hany [Sat, 29 Nov 2025 10:37:22 +0000 (12:37 +0200)]
wifi-scripts: fix broken match all case for wifi-vlan
When iface is omitted, wifi-vlan will apply to all interfaces.
However, netifd.set_vlan call is not successful as it assumes
that every wifi-vlan section corresponds to one VIF.
For this reason in the wifi-vlan case (cur_type == "vlan")
we create a composite key in the form `${vif.name}/${vlan.name}`
allowing the same vlan section to correspond to multiple VAPs.
`/` was decided as a delimiter as it is an invalid character
for a network interface name and UCI identifier; so it is
impossible for it to cause conflicts.
It was verified that the `ubus call network.wireless status`
works as expected with this change. Moreover, wifi-station
is not susceptible to this problem.
This also means that it is now possible for wifi-vlan
to support `list` iface similar to old shell-based wifi-scripts.
This will be done in a follow-up commit.
Fixes: 98435a37a7 ("wifi-scripts: iface should be optional in wifi-vlan definition")
Signed-off-by: Rany Hany <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20977
Signed-off-by: Robert Marko <[email protected]>
Robert Marko [Mon, 15 Dec 2025 08:54:23 +0000 (09:54 +0100)]
ipq-wifi: update to Git HEAD (2025-12-15)
c6202981872e ipq5018: use correct board for GL-iNet B3000 IPQ5018 radio
ec72376cadf1 qca4019: Add Meraki Underdog
059b7114c77b ipq6018: add tp-link eap620hd v2
Signed-off-by: Robert Marko <[email protected]>
Shiji Yang [Fri, 12 Dec 2025 00:32:56 +0000 (08:32 +0800)]
kernel: rtl836x: remove legacy platform_data support
There are no platform_data based devices using it anymore. Also move
header files to the driver folder.
Signed-off-by: Shiji Yang <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/21138
Signed-off-by: Robert Marko <[email protected]>
Markus Stockhausen [Sun, 14 Dec 2025 09:07:38 +0000 (10:07 +0100)]
realtek: use devm_kzalloc() for serdes debugfs setup
This will free memory automatically during driver unloading.
Signed-off-by: Markus Stockhausen <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/21157
Signed-off-by: Robert Marko <[email protected]>
Markus Stockhausen [Sun, 14 Dec 2025 09:03:47 +0000 (10:03 +0100)]
realtek: cleanup debugfs creation in serdes driver
debugfs_create_dir() has a proper logic to handle existing directories.
Skip the manual test. Additionally quit early if directory creation fails.
Signed-off-by: Markus Stockhausen <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/21157
Signed-off-by: Robert Marko <[email protected]>
Markus Stockhausen [Sun, 14 Dec 2025 08:53:49 +0000 (09:53 +0100)]
realtek: simplify backing serdes calculation
Calculating the backing serdes of a given frontend serdes does
not need any info about the control structure. Drop the reference.
Signed-off-by: Markus Stockhausen <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/21157
Signed-off-by: Robert Marko <[email protected]>
Álvaro Fernández Rojas [Sat, 13 Dec 2025 11:53:39 +0000 (12:53 +0100)]
odhcpd: update to Git HEAD (2025-12-13)
cf51aeb93220 odhcpd: fix captive_portal_uri reset
e8b7fdea8d5e dhcpv4: fix DNS server option
b84553e496a3 router: Modify relayed RA PIO P flag according to interface policy
da3e2a9829cc router: Modify relayed RA PIO A flags according to interface policy
bad7138b70f0 README.md: update dhcp ubus events
https://github.com/openwrt/odhcpd/compare/
ca00527e5fc3...
cf51aeb93220
Also remove duplicated /usr/share/libubox/jshn.sh include.
Signed-off-by: Álvaro Fernández Rojas <[email protected]>
David Woodhouse [Sat, 29 Nov 2025 16:18:26 +0000 (16:18 +0000)]
image: add CONFIG_EXTRA_IMAGE_NAME
This allows an optional tag to be put in the .config file which is
included in the filename of the resulting images, so it's easier to
build images with different functionality for the same target hardware.
Signed-off-by: David Woodhouse <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20984
Signed-off-by: Petr Štetiar <[email protected]>
Paul Donald [Wed, 10 Dec 2025 23:51:15 +0000 (00:51 +0100)]
apk: bump to 3.0.2
We drop patch 0020-apk-fix-compile: integrated at source.
Compressed help now functions normally.
Signed-off-by: Paul Donald <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/21127
Signed-off-by: Robert Marko <[email protected]>
David Härdeman [Tue, 9 Dec 2025 22:49:48 +0000 (23:49 +0100)]
base-files: always generate default DUID
The previous logic was copied from 12_network-generate-ula, but fails to
account for upgrades where the "auto" value isn't set (it is set by
base-files/files/bin/config_generate). Fix this to always set the
default duid if it isn't set.
Also, rename the file to better reflect what it does.
Closes: #21029
Fixes: a660a076db5a ("base-files: generate a global DHCP DUID")
Link: https://github.com/openwrt/openwrt/pull/21118
Signed-off-by: David Härdeman <[email protected]>
Signed-off-by: Petr Štetiar <[email protected]> [fixes,closes tag]
Shiji Yang [Fri, 28 Nov 2025 16:21:04 +0000 (00:21 +0800)]
bcm27xx: fix patch wrong CRLF line-ending
Use Unix LF style instead of Windows CRLF style.
Fixes: 738876e76bb2 ("kernel: bump 6.12 to 6.12.58")
Signed-off-by: Shiji Yang <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20973
Signed-off-by: Hauke Mehrtens <[email protected]>
Chukun Pan [Tue, 11 Nov 2025 13:10:36 +0000 (21:10 +0800)]
arm-trusted-firmware-mediatek: remove DDR combo for MT7987
The DRAM_USE_COMB option is only valid for the MT7988. There
is no DRAM type selection for the MT7987, so remove it.
Fixes: de8fc8b ("arm-trusted-firmware-mediatek: add builds for MT7987")
Signed-off-by: Chukun Pan <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/21000
Signed-off-by: Hauke Mehrtens <[email protected]>
Chukun Pan [Mon, 10 Nov 2025 10:16:30 +0000 (18:16 +0800)]
arm-trusted-firmware-mediatek: add MT7987 DDR4 4BG images
Add the DDR4_4BG_MODE option, which supports 4GB DDR4 RAM
for the MT7987 and 8GB DDR4 RAM for the MT7988. If this mode
is not enabled, bl2 can only recognize half the size of RAM.
Signed-off-by: Chukun Pan <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/21000
Signed-off-by: Hauke Mehrtens <[email protected]>
Chukun Pan [Mon, 10 Mar 2025 15:15:38 +0000 (23:15 +0800)]
arm-trusted-firmware-mediatek: add MT7981 sdmmc images
Add bl2 images for mt7981 sdmmc ddr4 devices.
Signed-off-by: Chukun Pan <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/21000
Signed-off-by: Hauke Mehrtens <[email protected]>
Chukun Pan [Tue, 11 Mar 2025 15:15:20 +0000 (23:15 +0800)]
arm-trusted-firmware-mediatek: rearrange some images
Rearrange some images to maintain consistency.
Signed-off-by: Chukun Pan <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/21000
Signed-off-by: Hauke Mehrtens <[email protected]>
Qingfang Deng [Wed, 10 Dec 2025 01:28:29 +0000 (09:28 +0800)]
kernel: add network teaming modules
Teaming is a link aggregation implementation similar to bonding, but
it's configured by a userspace program.
Signed-off-by: Qingfang Deng <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/21120
Signed-off-by: Hauke Mehrtens <[email protected]>
Shine [Thu, 24 Oct 2024 12:19:43 +0000 (14:19 +0200)]
mpc85xx: add support for Watchguard Firebox T10-W, T15(-W)
This commit adds support for the Watchguard Firebox models
T10-W, T15 and T15-W.
CPU: Freescale P1010
RAM: 512MB (T10) / 1024MB (T15)
Flash: 1MB SPI-NOR, 512MB NAND (T10) / 1024MB NAND (T15)
WiFi: 802.11abgn 2T2R AR9582 based Mini-PCIe card (-W models only)
Ethernet: 3x GBE (via AR8033 PHY)
LEDs: 7x hard-wired (6x LAN, 1x Power)
4x GPIO single-colored (Attn/Status/Mode/Failover)
1x GPIO dual-colored (2.4/5G WiFi, -W models only)
Serial: RJ45, Cisco pinout, 115200/8N1
Other: Battery backed RTC
Atmel TPM 1.2 chip (unsupported)
Based on
35f6d79, which introduced Watchguard Firebox T10 support.
The T10 and T15 are identical hardware, with the exception of the T15
having twice the flash and RAM size.
The T10-W and T15-W models have their Mini-PCIe slot populated with an ath9
(AR9582) based WiFi card. The slot is either unpopulated or empty for
non-WiFi models. All required drivers are present by default on the mpc85xx
target, so T10/T10-W resp. T15/T15-W can use the same OpenWrt image.
This commit also introduces the zImage loader from
7d768a9 to boot the
kernel. This is required, since the U-Boot version used in these devices
appears to have a hard limit of 16MB for the kernel size it can handle. The
current kernel size is around 17MB, though, due to kernel page alignment
required for memory protection.
Installation (replaces previous instructions for T10):
1. If the U-Boot password is known, proceed with step 2.
If the U-Boot password is unknown, dump the NOR flash using a SPI
programmer and patch the unknown password to a known one. You can use
blocktrron's Python script:
https://github.com/blocktrron/t10-uboot-patcher/
This script will patch the password to '1234' (without quotes).
Alternatively, you can search for the hashed password in the NOR dump
yourself and overwrite it with a known one. The SHA1 hash is:
E597301A1D89FF3F6D318DBF4DBA0A5ABC5ECBEA
Write the patched NOR dump back to the device.
2. Connect the device via serial cable, power it on and interrupt
the boot process by pressing Ctrl+C. Enter the U-Boot password to access
the CLI.
3. (Optional) Populate the uboot-env partition by entering:
saveenv
This will allow you to use uboot-envtools from within OpenWrt later,
e.g. to increase the loadable kernel size.
The default loadable kernel size is 5MB, the compressed kernel size at
the time of this commit is 3.1MB.
4. Serve the initramfs OpenWrt image from a TFTP server at 10.0.1.13/24,
connected to eth0 (WAN) of the device. File name must be 'uImage'. Boot
with:
tftpboot; bootm;
Make sure to use the correct image for your device (T10 resp. T15)!
5. After booting, connect to OpenWrt on eth1 (LAN) via SSH. Verify
that the UBI partiton is mtd7, format it and install the sysupgrade
image.
$ cat /proc/mtd
$ ubiformat /dev/mtd7 -y
$ sysupgrade -n <path to sysupgrade.bin>
6. The device should now boot OpenWrt from NAND flash. Enjoy.
Back to stock:
Use the vendor recovery procedure.
Stock recovery might also be necessary in case you have accidentally used
the fw_setenv command from within OpenWrt without using saveenv in U-Boot
first.
In order to use the vendor firmware recovery procedure, the NAND partitions
mtd3 to mtd6 must remain intact. Make sure not to overwrite them, or keep
dumps of them for later recovery.
Signed-off-by: Shine <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/16776
Signed-off-by: Hauke Mehrtens <[email protected]>
Shine [Thu, 24 Oct 2024 16:17:43 +0000 (18:17 +0200)]
mpc85xx: p1010: use common DTSI for Watchguard Firebox T1X
In preparation of adding support for additional Watchguard Firebox devices
based on Freescale P1010, introduce a common DTSI.
Signed-off-by: Shine <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/16776
Signed-off-by: Hauke Mehrtens <[email protected]>
Hauke Mehrtens [Mon, 8 Dec 2025 21:20:46 +0000 (22:20 +0100)]
ucode: update to Git HEAD (2025-12-01)
afe4be60628a lib/fs: fix return value for flush
5f08ecf8e372 lib/uloop: fix return value doc for run()
1affe484f302 lib/uloop: pass eof and error to cb
559860cbd76d lib: introduce io library
ef07e2448a56 vm: optimize string+string concat with ucv_string_alloc
Changes: https://github.com/jow-/ucode/compare/
48ed18d2532e9197212c34473ab926c7b5e8ac73...
f7c2b97a82e8b505bf4b2c0d8883b5116e1960f9
Backport PR to fix compilation with Ubuntu 18.04:
https://github.com/jow-/ucode/pull/355
Link: https://github.com/openwrt/openwrt/pull/21100
Signed-off-by: Hauke Mehrtens <[email protected]>
Nick Hainke [Sun, 23 Nov 2025 08:58:30 +0000 (09:58 +0100)]
libcap: update to 2.77
Update to latest release.
Add patch `003-Revert-libcap-Add-build-ldflags-to-_makenames-rule.patch`
to fix errors in the form of:
```
/usr/bin/ld.bfd: /external-toolchain/openwrt-toolchain-x86-64_gcc-14.3.0_musl.Linux-x86_64/toolchain-x86_64_gcc-14.3.0_musl/lib/libc.a(__stack_chk_fail.o): relocation R_X86_64_32 against symbol `__stack_chk_guard' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld.bfd: /external-toolchain/openwrt-toolchain-x86-64_gcc-14.3.0_musl.Linux-x86_64/toolchain-x86_64_gcc-14.3.0_musl/lib/libc.a(strerror.o): relocation R_X86_64_32 against `.rodata.errmsgstr' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld.bfd: /external-toolchain/openwrt-toolchain-x86-64_gcc-14.3.0_musl.Linux-x86_64/toolchain-x86_64_gcc-14.3.0_musl/lib/libc.a(realloc.o): relocation R_X86_64_32S against hidden symbol `__malloc_size_classes' can not be used when making a PIE object
/usr/bin/ld.bfd: /external-toolchain/openwrt-toolchain-x86-64_gcc-14.3.0_musl.Linux-x86_64/toolchain-x86_64_gcc-14.3.0_musl/lib/libc.a(__stdout_write.o): relocation R_X86_64_32S against hidden symbol `__stdio_write' can not be used when making a PIE object
/usr/bin/ld.bfd: /external-toolchain/openwrt-toolchain-x86-64_gcc-14.3.0_musl.Linux-x86_64/toolchain-x86_64_gcc-14.3.0_musl/lib/libc.a(ofl.o): relocation R_X86_64_32 against `.bss.ofl_lock' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld.bfd: /external-toolchain/openwrt-toolchain-x86-64_gcc-14.3.0_musl.Linux-x86_64/toolchain-x86_64_gcc-14.3.0_musl/lib/libc.a(stderr.o): warning: relocation against `__stderr_FILE' in read-only section `.rodata.stderr'
/usr/bin/ld.bfd: /usr/lib/gcc/x86_64-linux-gnu/10/../../../x86_64-linux-gnu/Scrt1.o: in function `_start':
(.text+0x12): undefined reference to `__libc_csu_fini'
/usr/bin/ld.bfd: (.text+0x19): undefined reference to `__libc_csu_init'
collect2: error: ld returned 1 exit status
```
Changes: https://git.kernel.org/pub/scm/libs/libcap/libcap.git/diff/?id=v1.2.77&id2=v1.2.69&dt=2
The apk size did not increase much:
Old size for armsr/armv8:
16245 libcap-2.69-r1.apk
new size for armsr/armv8:
16315 libcap-2.77-r1.apk
Signed-off-by: Nick Hainke <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20881
Signed-off-by: Hauke Mehrtens <[email protected]>
Hauke Mehrtens [Mon, 8 Dec 2025 21:40:54 +0000 (22:40 +0100)]
bridger: update to Git HEAD (2025-10-23)
856921fb2062 nl: improve polling
a40cb7994e92 nl: handle netlink socket buffer overflow
9fc2bc3e3d4d bpf: skip all multicast packets
Changes: https://github.com/nbd168/bridger/compare/
95125f0b0be53b3b6fa6439641a75bedd962da09...
9fc2bc3e3d4d3ffa63ee202ce8097620ce300e4f
Link: https://github.com/openwrt/openwrt/pull/21104
Signed-off-by: Hauke Mehrtens <[email protected]>
Hauke Mehrtens [Mon, 8 Dec 2025 21:18:31 +0000 (22:18 +0100)]
nftables: update to version 1.1.6
Announcement: https://lwn.net/Articles/
1049470/
Changes: https://git.netfilter.org/nftables/diff/?id=v1.1.6&id2=v1.1.5&dt=2
The apk size did not increase much:
Old size for armsr/armv8:
318457 nftables-json-1.1.5-r1.apk
new size for armsr/armv8:
327941 nftables-json-1.1.6-r1.apk
Link: https://github.com/openwrt/openwrt/pull/21096
Signed-off-by: Hauke Mehrtens <[email protected]>
Hauke Mehrtens [Mon, 8 Dec 2025 21:17:15 +0000 (22:17 +0100)]
libnftnl: update to version 1.3.1
Announcement: https://lwn.net/Articles/
1049279/
Changes: https://git.netfilter.org/libnftnl/diff/?id=libnftnl-1.3.1&id2=libnftnl-1.3.0&dt=2
The apk size did not increase much:
Old size for armsr/armv8:
62606 libnftnl11-1.3.0-r1.apk
new size for armsr/armv8:
64212 libnftnl11-1.3.1-r1.apk
Link: https://github.com/openwrt/openwrt/pull/21096
Signed-off-by: Hauke Mehrtens <[email protected]>
Hauke Mehrtens [Mon, 8 Dec 2025 21:12:49 +0000 (22:12 +0100)]
libnl: update to version 3.12
Changes: https://github.com/thom311/libnl/compare/libnl3_11_0...libnl3_12_0
The apk size did not increase much:
Old size for armsr/armv8:
767 libnl200-3.11.0-r1.apk
13480 libnl-cli200-3.11.0-r1.apk
44511 libnl-core200-3.11.0-r1.apk
9101 libnl-genl200-3.11.0-r1.apk
32485 libnl-nf200-3.11.0-r1.apk
185723 libnl-route200-3.11.0-r1.apk
new size for armsr/armv8:
764 libnl200-3.12.0-r1.apk
13471 libnl-cli200-3.12.0-r1.apk
45031 libnl-core200-3.12.0-r1.apk
9098 libnl-genl200-3.12.0-r1.apk
32479 libnl-nf200-3.12.0-r1.apk
193131 libnl-route200-3.12.0-r1.apk
Link: https://github.com/openwrt/openwrt/pull/21097
Signed-off-by: Hauke Mehrtens <[email protected]>
Christian Marangi [Wed, 10 Dec 2025 22:19:35 +0000 (23:19 +0100)]
openwrt-keyring: update to Git HEAD (2025-12-10)
f0670054fd3a apk: add OpenWrt 25.12 release build public key
Signed-off-by: Christian Marangi <[email protected]>
Hauke Mehrtens [Mon, 8 Dec 2025 21:38:25 +0000 (22:38 +0100)]
iproute2: update to version 6.18
The removed patch 001-lib-bridge-avoid-redefinition-of-in6_addr.patch
was integrated upstream.
Changes: https://github.com/iproute2/iproute2/compare/v6.17.0...v6.18.0
The apk size did not increase much:
Old size for armsr/armv8:
43778 ip-bridge-6.17.0-r1.apk
164653 ip-tiny-6.17.0-r1.apk
208236 tc-bpf-6.17.0-r1.apk
210209 tc-full-6.17.0-r1.apk
172483 tc-tiny-6.17.0-r1.apk
new size for armsr/armv8:
43781 ip-bridge-6.18.0-r1.apk
164956 ip-tiny-6.18.0-r1.apk
208578 tc-bpf-6.18.0-r1.apk
210482 tc-full-6.18.0-r1.apk
172664 tc-tiny-6.18.0-r1.apk
Link: https://github.com/openwrt/openwrt/pull/21101
Signed-off-by: Hauke Mehrtens <[email protected]>
Christian Marangi [Wed, 10 Dec 2025 21:48:55 +0000 (22:48 +0100)]
mac80211: backport patch fixing support for GCC15
Backport patch fixing support for GCC15 caused by __counted_by.
This macro was moved to a different header in recent kernel version and
caused wrong detection on the #ifndef condition.
Signed-off-by: Christian Marangi <[email protected]>
Linus Walleij [Thu, 19 Jun 2025 12:07:34 +0000 (14:07 +0200)]
scripts/jungo-image: Fix up whitespace
Recent Python versions are strict about whitespace and will
complain about mixtures of tabs and spaces. Convert any tabs
so the script just use spaces for indentation.
Signed-off-by: Linus Walleij <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/21116
Signed-off-by: Christian Marangi <[email protected]>
Vincent Li [Wed, 10 Dec 2025 01:36:42 +0000 (17:36 -0800)]
loongarch64: Disable strict alignment to fix BPF program failures
CONFIG_ARCH_STRICT_ALIGN=y (default in config-6.12) causes BPF programs
(XDP, TC, tracing, etc.) to fail verification with misaligned packet
and memory access errors, breaking essential kernel functionality.
Hardware support status:
- Supported (modern CPUs): 2K2000, 2K3000, 3A5000, 3A6000, 3C5000,
3C6000, 3D5000
- Unsupported (legacy): 2K500, 2K1000
The current default prioritizes legacy compatibility over:
1. BPF program functionality across multiple subsystems
2. Performance on widely deployed modern hardware
3. Modern kernel features relying on unaligned accesses
Since BPF programs require unaligned access capabilities and most
LoongArch deployments use modern CPUs with hardware support, disable
CONFIG_ARCH_STRICT_ALIGN. Legacy system users can manually enable
it if needed.
Link: https://github.com/vincentmli/BPFire/issues/69
Reference: https://elixir.bootlin.com/linux/v6.12/source/arch/loongarch/Kconfig#L534
Signed-off-by: Vincent Li <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/21121
Signed-off-by: Christian Marangi <[email protected]>
Andreas Gnau [Wed, 10 Dec 2025 17:21:45 +0000 (18:21 +0100)]
build: depend on tools/zstd for download
Downloading packages from git requires zstd to compress their tarballs.
Make sure that zstd from host tools is compiled when running make
download. Otherwise, either the download would fail because zstd is not
present or a random version from the host would be used leading to hash
mismatches.
Signed-off-by: Andreas Gnau <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/21125
Signed-off-by: Christian Marangi <[email protected]>
Álvaro Fernández Rojas [Sat, 6 Dec 2025 16:01:00 +0000 (17:01 +0100)]
odhcpd: update to Git HEAD (2025-12-10)
ca00527e5fc3 statefiles: don't write empty hosts files
24b70c5c2ff0 Revert "statefiles: fix escape sequence for broken hostname output"
5203ad13954c statefiles: fix stale pio handling for !ubus
a64760b30f67 odhcpd: rename piofolder to piodir
6779344a8c8a statefiles: use tmpfile functions for pio files
9f8abcc662d0 statefiles: rename prefix information functions
cb65b83e524e config: move pio json handling to statefiles.c
5b01849cc42c statefiles: add a dirfd helper function
eadde3d7dd74 statefiles: add tmp helper functions
c29aa7091498 statefiles: fix escape sequence for broken hostname output
00f2d7a4dbe5 dhcpv4: don't send zero IPv6-only preferred option
c86d29bb83d6 Revert "dhcpv6-ia: add some noise to the T1 and T2 periods"
b062769ab85f Revert "do not delegate ULA prefixes"
fd4714bb2dfe do not delegate ULA prefixes
81ea5bfef775 dhcpv6-ia: add some noise to the T1 and T2 periods
https://github.com/openwrt/odhcpd/compare/
79252ed0c0c2...
ca00527e5fc3
Signed-off-by: Álvaro Fernández Rojas <[email protected]>
Álvaro Fernández Rojas [Tue, 9 Dec 2025 15:17:04 +0000 (16:17 +0100)]
odhcp6c: update to Git HEAD (2025-12-09)
5212a1019d75 odhcp6c: clear the socket buffer after initialising it
https://github.com/openwrt/odhcp6c/compare/
1d6c4e794cdb...
5212a1019d75
Signed-off-by: Álvaro Fernández Rojas <[email protected]>
Hauke Mehrtens [Mon, 8 Dec 2025 21:15:31 +0000 (22:15 +0100)]
libubox: update to Git HEAD (2025-12-08)
5714bf6ae652 build: install libubox
440b4e988f39 tests: shunit2: add dump and setters coverage
a3ff29ef93df tests: shunit2: add test for _jshn_append via JSON script
38d70328ecbd github: ci: add MIPS64, PowerPC64 and RISCV64
edaf77da740d scripts: devel-build: add missing LUAPATH
c0773869c9d6 build: disable static json-c
ecddb31dc34d formal: fix workflow permissions
7928f1711703 libubox: Add ability to find ordinal position inside a table
Changes: https://github.com/openwrt/libubox/compare/
a75209f62982f7218f73b9b4fd9b705e19f5f94a...
7928f1711703767b0ac5ce916c7231d0e1af1ca2
Link: https://github.com/openwrt/openwrt/pull/21099
Signed-off-by: Hauke Mehrtens <[email protected]>
Hauke Mehrtens [Mon, 8 Dec 2025 21:26:53 +0000 (22:26 +0100)]
ubus: update to Git HEAD (2025-12-02)
3cc98db1a422 formal: fix workflow permissions
Changes: https://github.com/openwrt/ubus/compare/
2737da3819fefafa5b63d5f82efb77ff0032a5d8...
3cc98db1a422dcf560f2d6347fd410f17565a89d
Link: https://github.com/openwrt/openwrt/pull/21102
Signed-off-by: Hauke Mehrtens <[email protected]>
Hauke Mehrtens [Mon, 8 Dec 2025 21:14:47 +0000 (22:14 +0100)]
libnl-tiny: update to Git HEAD (2025-12-02)
087d4ce8c07b github: ci: add cmake build and source directories
2871f3f26abb github: ci: add powerpc arch
567be1101523 github: ci: add MIPS64, PowerPC64 and RISCV64
40493a655d8c formal: fix workflow permissions
Changes: https://github.com/openwrt/libnl-tiny/compare/
532ac744dedcf83c06e2f4a8320fcc8089f23b72...
40493a655d8caa2ccf5206dde1e733abe2920432
Link: https://github.com/openwrt/openwrt/pull/21098
Signed-off-by: Hauke Mehrtens <[email protected]>
Hauke Mehrtens [Mon, 8 Dec 2025 21:27:23 +0000 (22:27 +0100)]
uci: update to Git HEAD (2025-12-02)
66127cd76c5d formal: fix workflow permissions
Changes: https://github.com/openwrt/uci/compare/
5bea13572325af4fb3057ff600cc7f7d5b82012b...
66127cd76c5d0bd46d5a90302cc6110f53a4e2f8
Link: https://github.com/openwrt/openwrt/pull/21103
Signed-off-by: Hauke Mehrtens <[email protected]>
Shiji Yang [Tue, 9 Dec 2025 10:47:32 +0000 (18:47 +0800)]
uboot-mediatek: fix readmem command help message
Correct the order of the arguments.
Signed-off-by: Shiji Yang <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/21109
Signed-off-by: Hauke Mehrtens <[email protected]>
Kyle Hendry [Fri, 17 Jan 2025 20:18:20 +0000 (12:18 -0800)]
bmips: b53: enable bcm63268 internal PHYs
On the smartrg sr505n the bootloader only sets registers to enable the
PHYs if it's interrupted. When Linux boots this results in a -EINVAL
error when trying to read from the EPHYs and the GPHY doesn't work.
This patch disables low power mode in the GPHY/EPHYs and properly resets
the EPHYs.
Signed-off-by: Kyle Hendry <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/17648
Signed-off-by: Álvaro Fernández Rojas <[email protected]>
Hauke Mehrtens [Tue, 9 Dec 2025 01:06:26 +0000 (02:06 +0100)]
apk: Fix host compilation with C89
This fixes the following build error:
```
../src/apk.c: In function 'parse_options':
../src/apk.c:584:4: error: a label can only be part of a statement and a declaration is not a statement
584 | char *arg = opt_parse_arg(&st);
| ^~~~
```
Upstream MR: https://gitlab.alpinelinux.org/alpine/apk-tools/-/merge_requests/376
Fixes: b91ebdabbb09 ("apk: bump to 3.0.1")
Signed-off-by: Hauke Mehrtens <[email protected]>
Zhiwei Cao [Fri, 25 Apr 2025 03:03:56 +0000 (11:03 +0800)]
mediatek: filogic: add support Netcore NX30V2/N30PRO/POWER30AX/W7/GW3001
Hardware specification:
SoC: MediaTek MT7981B
Flash: ESMT F50L1G41LB 128MB
RAM: ESMT M15T2G16128A DDR3 256MB
Ethernet: 3x 1G
Button: Reset, WPS
MAC addresses
LAN: Label MAC (stored in Factory partition offset 0x1fef20)
WAN: LAN + 1
WiFi: LAN
Official LED layout, from left to right:
[power] [internet] [wps] [wifi] [lan3/2/1] [wan]
Redefinition for OpenWrt:
[power]: used for led-boot, led-failsafe, and led-running
[internet]: used for WAN RX/TX indication
[wps]: used for led-upgrade
[wifi] and [lan3/2/1]: unchanged
[wan]: used for WAN link indication
Installing OpenWrt:
- Setup a tftp server on your PC. Copy
xxx-preloader.bin, xxx-bl31-uboot.fip and
xxx-initramfs.itb to tftp root directory.
- Connect to the router via ssh or telnet,
username: useradmin, password is the web
login password of the router.
- Backup all critical flash partitions with
the following commands where x.x.x.x is
the IP of your PC.
IP=x.x.x.x
cd /dev
for d in /sys/class/mtd/mtd?; do
if [ "$(cat $d/name)" = "BL2" ]; then
tftp -l $(basename $d) -r bl2.img -p $IP
elif [ "$(cat $d/name)" = "FIP" ]; then
tftp -l $(basename $d) -r fip.bin -p $IP
elif [ "$(cat $d/name)" = "Factory" ]; then
tftp -l $(basename $d) -r factory.bin -p $IP
fi
done
for d in /sys/devices/virtual/ubi/ubi0/ubi0_*; do
[ "$(cat $d/name)" != "customer" ] && continue
tftp -l $(basename $d) -r customer -p $IP
break
done
- Flash with the following commands:
cd /tmp
tftp -r xxx-preloader.bin -g x.x.x.x
tftp -r xxx-bl31-uboot.fip -g x.x.x.x
mtd write xxx-preloader.bin spi0.0
mtd write xxx-bl31-uboot.fip FIP
mtd erase ubi
- Set a static ip(192.168.1.254) for your PC.
And then reboot the router. It will run
initramfs image automatically.
- After openwrt boots up, perform sysupgrade
via web UI.
Reverting to the vendor firmware:
- Setup a tftp server on your PC with ip
address 192.168.1.254. And make sure
bl2.img, fip.bin, factory.bin and customer
are located in tftp root directory.
- Power off the router.
- Press and hold WPS key, then power on
the router.
- Release WPS key, when internet/wifi/wps
leds are blinking.
- Wait until internet/wifi/wps leds light
up, power off the router.
- Press and hold reset key, power up the
router, release reset key 15s later.
- Connect to http://192.168.1.1, now you
can upload vendor .bin firmware.
Uboot netconsole:
Uboot netconsole can be enabled by WPS
or reset key.
- Setup a linux PC with ip 192.168.1.254.
Open a new terminal and execute
'stty -isig -echo cbreak; nc -lup 6666'
- Press and hold WPS(or reset) key, then
power on the router.
- Release key once internet/wifi/wps leds
are all on.
NOTE: don't hold the key more than 5s
after internet/wifi/wps leds on, or it
will try to revert to vendor firmware.
- 5s later, uboot bootmenu will show on
the terminal.
Signed-off-by: Zhiwei Cao <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/18631
Signed-off-by: Hauke Mehrtens <[email protected]>
Rosen Penev [Sat, 17 Feb 2024 05:27:05 +0000 (21:27 -0800)]
ath79: meraki_mr1[26]: userspace cal to nvmem
Userspace handling is deprecated.
Signed-off-by: Rosen Penev <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/21002
Signed-off-by: Hauke Mehrtens <[email protected]>
Rosen Penev [Thu, 23 Oct 2025 01:02:12 +0000 (18:02 -0700)]
ath79: moxa,awk-1137c: use nvmem for calibration
Userspace handling is deprecated.
Use led-sources for simplicity.
Signed-off-by: Rosen Penev <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/21026
Signed-off-by: Hauke Mehrtens <[email protected]>
Brian Lee [Wed, 3 Dec 2025 04:57:28 +0000 (13:57 +0900)]
mediatek: filogic: replace spaces with tabs for indentation
This commit replaces the 7-8 spaces with 1 tab to modify the indentation appropriately.
Signed-off-by: Brian Lee <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/21018
Signed-off-by: Hauke Mehrtens <[email protected]>
Pawel Dembicki [Thu, 2 Oct 2025 13:49:17 +0000 (15:49 +0200)]
mediatek: filogic: add support for Kebidumei AX3000-U22
Kebidumei AX3000-U22 is one of many clones of the same range extender
that can be found on Aliexpress or other Chinese portals.
The easiest way to identify this model is by searching for "AX3000
Repeater" and picking the device that looks like mine [0].
Specification:
- SoC: MediaTek MT7981B (1.3 GHz)
- RAM: 256 MB
- Flash: 16 MB SPI NOR
- Ports: 1 x 1 GbE
- Antenna: 6 (2 fake)
- WiFi: MediaTek dual-band WiFi 6
- 2.4 GHz: b/g/n/ax, MIMO 2x2
- 5 GHz: a/n/ac/ax, MIMO 2x2
- Buttons: Reset & WPS
- LEDs: Ethernet (green), Status (red, green, blue)
- Power: 110–240 V AC (internal PSU, board uses 12 V DC)
- Serial: unmarked connector on PCB
[1: Vcc, 2: RX, 3: TX, 4: GND]
Install via OEM web UI:
1. Use reset button to perform factory reset.
2. Connect PC to LAN port and obtain DHCP address.
3. Upload the sysupgrade image via OEM firmware upgrade page,
e.g. http://192.168.18.1/upgrade.html
4. After reboot, hold reset button to clear leftover vendor config.
Install via serial:
1. Connect serial console (115200 8N1).
2. Enter the console.
3. Backup mtd4 partition if you want to restore OEM FW later.
4. Download image.
5. Run 'sysupgrade -n'.
Revert to stock:
1. Run sysupgrade without keeping config using mtd4 backup.
[0] https://openwrt.org/_media/media/kebidumei_ax3000-u22.png
Signed-off-by: Pawel Dembicki <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20287
Signed-off-by: Hauke Mehrtens <[email protected]>
Rosen Penev [Tue, 2 Dec 2025 23:19:10 +0000 (15:19 -0800)]
gpio-button-hotplug: some modern cleanups
devm_kmalloc_array addition.
of_property_present instead of boolean hack.
for_each_available_child_of_node_scoped to avoid of_node_put.
Signed-off-by: Rosen Penev <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/21033
Signed-off-by: Hauke Mehrtens <[email protected]>
Maxim Anisimov [Mon, 10 Nov 2025 10:58:14 +0000 (13:58 +0300)]
mediatek: add Keenetic KN-1812/Netcraze NC-1812 support
This commit adds support for Keenetic KN-1812/Netcraze NC-1812
Device specification
--------------------
SoC Type: MediaTek MT7988D, Cortex-A73, 64-bit
RAM: 1024MB DDR4 Micron MT40A512M16TB-062E:R
Flash: SPI NAND Winbond W25N02KV (256 MiB)
Ethernet: 4x1GbE (internal MT7988 built-in) + 2.5GbE (internal MT7988 phy) + 10GbE (RTL8261BE)
WLAN: MT7992AV
WLAN 2g: MediaTek MT7975N, b/g/n/ax/be, MIMO 4x4
WLAN 5g: MediaTek MT7977B, a/n/ac/ax/be, MIMO 4x4
LEDs: 5 LEDs, 1 power green, 1 internet green,
2x fn green, 1 wlan green, gpio-controlled
Button: 4 (Reset, WPS, FN1, FN2)
USB port: Yes, 1xUSB3.2 and 1xUSB2.0 (via GL850G)
Power: 12 VDC, 3 A
Notes:
* The device supports dual boot mode
* Fn2 led reassigned to wlan 2.4
Flash instruction:
The only way to flash OpenWrt image is to use tftp recovery mode in U-Boot:
1. Configure PC with static IP 192.168.1.2/24 and tftp server.
2. a) Keenetic
Rename "openwrt-mediatek-filogic-keenetic_kn-1812-squashfs-factory.bin"
to "KN-1812_recovery.bin" and place it in tftp server directory.
b) Netcraze
Rename "openwrt-mediatek-filogic-netcraze_nc-1812-squashfs-factory.bin"
to "NC-1812_recovery.bin" and place it in tftp server directory.
3. Connect PC with ethernet port, press the reset button, power up
the device and keep button pressed until status led start blinking.
4. Device will download file from server, write it to flash and reboot.
Signed-off-by: Maxim Anisimov <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20737
Signed-off-by: Hauke Mehrtens <[email protected]>
Maxim Anisimov [Tue, 11 Nov 2025 14:38:21 +0000 (17:38 +0300)]
mediatek: import patch from Mediatek SDK for pcie
Without this patch some devices can't detect wifi chip.
Signed-off-by: Maxim Anisimov <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20737
Signed-off-by: Hauke Mehrtens <[email protected]>
Shiji Yang [Fri, 5 Dec 2025 13:19:05 +0000 (21:19 +0800)]
uboot-envtools: reorganize the initialization scripts
Reorder device names alphabetically and group together the same configs.
Signed-off-by: Shiji Yang <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/21052
Signed-off-by: Hauke Mehrtens <[email protected]>
Shiji Yang [Fri, 5 Dec 2025 13:16:05 +0000 (21:16 +0800)]
uboot-envtools: ipq40xx: remove unused function ubootenv_mtdinfo()
This function is defined but unused. There is no reason to keep it.
Signed-off-by: Shiji Yang <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/21052
Signed-off-by: Hauke Mehrtens <[email protected]>
Marcin Leksmark [Thu, 4 Dec 2025 16:51:11 +0000 (17:51 +0100)]
ramips: mt7621.mk: fix alphabetical ordering some Cudy devices
This PR doesn't change anything other than fixing the alphabetical order of some Cudy devices
(R700 and c200p)
Signed-off-by: Marcin Leksmark <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/21044
Signed-off-by: Hauke Mehrtens <[email protected]>
Jonas Jelonek [Fri, 7 Nov 2025 19:00:03 +0000 (19:00 +0000)]
realtek: dsa,phy: rtl838x: remove 'SerDes as PHY' leftovers
RTL838X SerDes is now completely managed by the PCS driver so it's time
to remove all the unused leftovers from DSA and PHY drivers to have that
finally separated.
Signed-off-by: Jonas Jelonek <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20876
Signed-off-by: Hauke Mehrtens <[email protected]>
Jonas Jelonek [Fri, 7 Nov 2025 18:45:27 +0000 (18:45 +0000)]
realtek: rtl838x: drop SFP pseudo-PHYs and phy-handle
Remove all pseudo-PHYs and phy-handle properties from DTS of RTL838X
devices. RTL838X SerDes is now handled by PCS driver and thus not
treated as PHY anymore.
Signed-off-by: Jonas Jelonek <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20876
Signed-off-by: Hauke Mehrtens <[email protected]>
Jonas Jelonek [Fri, 7 Nov 2025 16:15:17 +0000 (16:15 +0000)]
realtek: rtl838x: setup SDS entirely in PCS driver
After having moved the configuration code and sequences from PHY and
DSA drivers to the PCS driver, add the hooks in PCS driver and remove
calls in PHY and DSA drivers to let PCS driver setup the SerDes
entirely on its own.
Also add pcs-handle to device tree definitions for most of the switch
ports because, due to the refactoring of the SerDes configuration, this
is needed now for all SerDes-attached ports.
Signed-off-by: Jonas Jelonek <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20876
Signed-off-by: Hauke Mehrtens <[email protected]>
Jonas Jelonek [Fri, 7 Nov 2025 11:45:30 +0000 (11:45 +0000)]
realtek: pcs: rtl838x: refactor imported code
The previous commit just imported some code as-is and commented it.
It needs heavy adjustments to compile and work within the PCS driver.
Do that now to that extent that it can be used within the driver. More
cosmetics and improvements will be done later.
Split the once-for-all SerDes configuration into the usual flow where
each SerDes is configured separately and on its own, as requested by the
PCS subsystem.
Move mode setting and patching into proper functions which are called
during SerDes configuration. Some configuration sequences are broken up
and moved into the SerDes configuration flow, e.g. reset sequences
because they were usually a single/few values applied to all SerDes at
once before.
Add proper configuration for SerDes 4 QSGMII to be able to setup this
mode properly on our own.
Signed-off-by: Jonas Jelonek <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20876
Signed-off-by: Hauke Mehrtens <[email protected]>
Jonas Jelonek [Fri, 7 Nov 2025 11:47:37 +0000 (11:47 +0000)]
realtek: pcs: rtl838x: import SerDes code from DSA/PHY
Import functions 'rtl8380_sds_rst', 'rtl8380_sds_power',
'rtl8380_configure_serdes' and 'rtl83xx_config_interface' from DSA and
PHY driver respectively but comment the code for now.
The code needs heavy adjustments to make it compile and work. To make
this as transparent as possible, do that in two stages.
Signed-off-by: Jonas Jelonek <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20876
Signed-off-by: Hauke Mehrtens <[email protected]>
Jonas Jelonek [Fri, 7 Nov 2025 10:21:43 +0000 (10:21 +0000)]
realtek: pcs: rtl838x: transplant firmware config
In the PHY driver, firmware files were used to store configuration
values for the SerDes which need to be applied upon initialization.
There are several issues which prevent to just take that over into the
PCS driver:
* SerDes and PHY parts are mixed within a firmware file
* SerDes access in PHY driver is based on writing into the switch's
global register space; PCS driver uses access via MDIO interface
--> destination values do not match
* firmware file format is not SerDes-agnostic
* no documentation or script for the "old" firmware files
Unfortunately, there is no proper firmware format yet where to take over
the required sequences. Thus, extract the sequences needed for RTL838X
SerDes, transform them to work with the MDIO based access and put them
as functions in the PCS driver.
Note that this should just be a temporary solution. In a next step, a
proper firmware format should be established and all configuration
sequences currently in the code should be moved into firmware files.
Signed-off-by: Jonas Jelonek <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20876
Signed-off-by: Hauke Mehrtens <[email protected]>
Jonas Jelonek [Fri, 7 Nov 2025 12:16:45 +0000 (12:16 +0000)]
realtek: pcs: add init_serdes_common hook
Add a new hook called 'init_serdes_common' to be able to perform
initialisations or anything else subject to all SerDes. This hook is
called in the end of 'rtpcs_probe' after everything else is done.
This is meant primarily to support the transition of RTL83XX from PHY
driver to PCS driver. Thus, it may be removed later again or kept if
there is sufficient need for this.
Signed-off-by: Jonas Jelonek <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20876
Signed-off-by: Hauke Mehrtens <[email protected]>
George Sapkin [Mon, 1 Dec 2025 14:57:00 +0000 (16:57 +0200)]
scripts/kernel_bump: adjust commit messages
Due to the recent changes with the formality checks kernel_bump commit
messages no-longer pass them.
Adjust these messages to follow the updated checks:
- start the first word after prefix with lower-case
- reduce the overall subject length by removing the redundant 'kernel'
Signed-off-by: George Sapkin <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/21012
Signed-off-by: Hauke Mehrtens <[email protected]>
Jonas Jelonek [Fri, 7 Nov 2025 18:34:58 +0000 (18:34 +0000)]
realtek: fix SFP support on Engenius EWS2910P
EWS2910P has two SFP slots of which only one was fully supported so far.
The issue so far was that both SFP slots share the same I2C SCL line but
neither the kernel nor any downstream driver was able to deal with this.
Thus, only one SFP slot was completely working (with detection etc.) but
the other one had to be enabled manually. Networking was functional in
both though.
Since
acd7ecc9ed we have a driver which is able to deal with that. Thus,
we can fix the SFP support for this device.
Signed-off-by: Jonas Jelonek <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20687
Signed-off-by: Hauke Mehrtens <[email protected]>
Christian Marangi [Mon, 8 Dec 2025 20:42:48 +0000 (21:42 +0100)]
mac80211: add pending fix for wrong resource_size() usage for ath11k
Add pending fix for wrong resource_size() usage that cause firmware
crash on load on ath11k.
Refresh all affected patch by this.
Signed-off-by: Christian Marangi <[email protected]>
Christian Marangi [Mon, 8 Dec 2025 20:41:03 +0000 (21:41 +0100)]
Revert "generic: add pending patch fixing resource_size()"
This reverts commit
63e2b17c011318b7f7a5c7082fd8c969c430d7df.
Further discussion with Upstream for the topic revealed an even subtle
problem that require specific driver to be fixed. Revert the wrong
generic fix in favor of specific ath11k fix.
Link: https://lore.kernel.org/all/[email protected]/T/#m990492684913c5a158ff0e5fc90697d8ad95351b
Signed-off-by: Christian Marangi <[email protected]>
Paul Donald [Mon, 8 Dec 2025 16:41:25 +0000 (17:41 +0100)]
apk: bump to 3.0.1
Recently finalized 3 branch bumped to 3.0.1
dropped patches
-010-libressl4.patch; integrated at source
-999-small-scripts-tar.patch; integrated at source
refreshed remaining patches
DEPRECATION: Option 'compressed-help' is deprecated - removed.
DEPRECATION: Option 'zstd' value 'false' is replaced by 'disabled'
Signed-off-by: Paul Donald <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/21093
Signed-off-by: Christian Marangi <[email protected]>
Paul Donald [Mon, 8 Dec 2025 19:45:16 +0000 (20:45 +0100)]
apk: define minimal variant for install
Choose the minimal release build which excludes a number of
unused applets, not used on user devices.
Signed-off-by: Paul Donald <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/21093
Signed-off-by: Christian Marangi <[email protected]>
Petr Štetiar [Sat, 6 Dec 2025 18:34:37 +0000 (18:34 +0000)]
dropbear: enable configurable port forwarding options
Currently its only possible to disable port forwarding only for specific
keys, via the OpenSSH-style restriction in `authorized_keys` file.
In some use cases it might be feasible to disable such features globally
on service level, so lets add new LocalPortForward and RemotePortForward
config knobs.
Signed-off-by: Petr Štetiar <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/21071
Signed-off-by: Christian Marangi <[email protected]>
Vincent Li [Sun, 7 Dec 2025 15:53:07 +0000 (07:53 -0800)]
loongarch64: backport kernel BPF trampoline
Enable xdp-loader to attach multiple XDP programs to a single interface by
backporting the BPF trampoline implementation from Linux kernel 6.17 to
6.12 for LoongArch64.
The xdp-loader utility relies on libxdp, which in turn requires kernel
support for BPF trampoline. While x86_64 and other architectures have
this feature, LoongArch64 only gained it in kernel 6.17. Without this
backport, xdp-loader fails on LoongArch64 systems running kernel 6.12.
Changes backported include:
- BPF trampoline infrastructure for LoongArch64
- Necessary JIT compiler updates
- Related BPF subsystem changes
This allows full compatibility with the xdp-tools ecosystem on LoongArch64
systems running older kernel versions.
Reference: https://github.com/xdp-project/xdp-tools/tree/main/lib/libxdp
Signed-off-by: Vincent Li <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/21077
Signed-off-by: Christian Marangi <[email protected]>
Shiji Yang [Mon, 8 Dec 2025 11:11:39 +0000 (19:11 +0800)]
ath10k-ct: remove outdated iommu revert patch
The issue described in the patch can not be reproduced in the latest
6.18 ath10k-ct driver. It should have been fixed by the upstream.
Signed-off-by: Shiji Yang <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/21089
Signed-off-by: Christian Marangi <[email protected]>
Shiji Yang [Mon, 8 Dec 2025 11:02:33 +0000 (19:02 +0800)]
mac80211: ralink: remove rt2x00soc.ko
"rt2x00soc.c" was removed in 6.18 kernel backport[1]. Fix build error:
openwrt/build_dir/target-mipsel_24kc_musl/linux-ramips_mt7620/mac80211-regular/backports-6.18/drivers/net/wireless/ralink/rt2x00/rt2x00soc.ko' is missing.
[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?h=v6.18&id=
7f6109086c9e7bbc78ff936dac45626870455c76
Fixes: 52a087374227 ("mac80211: update to version 6.18")
Signed-off-by: Shiji Yang <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/21089
Signed-off-by: Christian Marangi <[email protected]>
Caleb James DeLisle [Thu, 4 Dec 2025 19:13:23 +0000 (19:13 +0000)]
econet: fix wrong board name for Zyxel PMG5617GA
Board name was specified incorrectly in the DT, fix.
This bug was introduced in #20580 (
31f5fc8fea8931f5) which was
merged last week, and econet is still a mostly experimental target,
so it is considered unnecessary to update SUPPORTED_DEVICES.
Signed-off-by: Caleb James DeLisle <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/21023
Signed-off-by: Robert Marko <[email protected]>
Caleb James DeLisle [Tue, 2 Dec 2025 20:37:24 +0000 (20:37 +0000)]
econet: update en75_chboot to use OpenWrt board_name
Instead of using the name from /proc/cpuinfo, use board_name from
/lib/functions.sh
Signed-off-by: Caleb James DeLisle <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/21023
Signed-off-by: Robert Marko <[email protected]>
Rosen Penev [Sat, 6 Dec 2025 21:14:03 +0000 (13:14 -0800)]
bmips: huawei-hg556a-c: use nvmem for wifi eeprom
The ralink custom property is deprecated and only kept around for
byteswap capability.
Signed-off-by: Rosen Penev <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/21058
Signed-off-by: Robert Marko <[email protected]>
Rosen Penev [Sat, 6 Dec 2025 03:34:37 +0000 (19:34 -0800)]
bmips: use led-sources for ath9k
Avoids having to create a custom LED for wifi.
Signed-off-by: Rosen Penev <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/21058
Signed-off-by: Robert Marko <[email protected]>
Rany Hany [Thu, 1 May 2025 17:06:20 +0000 (17:06 +0000)]
hostapd: allow ubus ban client address to be a broadcast address
This will allow del_client with ban_time on a broadcast address
to also ban all clients temporarily.
Signed-off-by: Rany Hany <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/18670
Signed-off-by: Robert Marko <[email protected]>
Rany Hany [Thu, 1 May 2025 16:46:35 +0000 (16:46 +0000)]
hostapd: add ubus support to disasoc/deauth all wireless STAs
Similar to the hostapd control interface, treat ff:ff:ff:ff:ff:ff
as a stand in for "all clients".
Signed-off-by: Rany Hany <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/18670
Signed-off-by: Robert Marko <[email protected]>
Christian Marangi [Tue, 2 Dec 2025 19:31:26 +0000 (20:31 +0100)]
rtl8812au-ct: rework patch to support kernel 6.18
Rework patch to support backports package based on kernel 6.18.
Link: https://github.com/openwrt/openwrt/pull/20964
Signed-off-by: Christian Marangi <[email protected]>
Christian Marangi [Mon, 1 Dec 2025 22:56:54 +0000 (23:56 +0100)]
mwlwifi: add pending patch to support kernel 6.18
Add pending patch to support backports package based on kernel 6.18.
Link: https://github.com/openwrt/openwrt/pull/20964
Signed-off-by: Christian Marangi <[email protected]>
Christian Marangi [Tue, 2 Dec 2025 19:40:31 +0000 (20:40 +0100)]
ath10k-ct: switch to base 6.18
Switch ath10k-ct kernel version base to 6.18 to align with backports
package based on 6.18 kernel version.
Link: https://github.com/openwrt/openwrt/pull/20964
Signed-off-by: Christian Marangi <[email protected]>
Christian Marangi [Tue, 2 Dec 2025 19:34:12 +0000 (20:34 +0100)]
ath10k-ct: update to Git HEAD (2025-12-01)
bb84e1597474 Add 6.18 ath10k-ct driver
Link: https://github.com/openwrt/openwrt/pull/20964
Signed-off-by: Christian Marangi <[email protected]>
Christian Marangi [Sun, 30 Nov 2025 12:11:56 +0000 (13:11 +0100)]
mt76: backport patch fixing support for 6.18
Backport upstream patch fixing support for 6.18 due to kernel upstream
commit
b74947b4f6ff ("wifi: cfg80211/mac80211: Add support to get radio
index")
Link: https://github.com/openwrt/openwrt/pull/20964
Signed-off-by: Christian Marangi <[email protected]>
Christian Marangi [Thu, 27 Nov 2025 22:16:38 +0000 (23:16 +0100)]
ramips: migrate wifi compatible to new name
Migrate wifi compatible from ralink,rt2880-wmac to ralink,rt2880-wifi to
align to new 6.18 backports version.
Link: https://github.com/openwrt/openwrt/pull/20964
Signed-off-by: Christian Marangi <[email protected]>
Christian Marangi [Thu, 27 Nov 2025 21:00:54 +0000 (22:00 +0100)]
mac80211: update to version 6.18
Drop all upstreamed patch and refresh all affected patch.
Minor changes were needed to the
350-mac80211-allow-scanning-while-on-radar-channel due to changes in
6.18.
Also some changes were needed to downstream patch due to upstream commit
b74947b4f6ff ("wifi: cfg80211/mac80211: Add support to get radio index")
Link: https://github.com/openwrt/openwrt/pull/20964
Signed-off-by: Christian Marangi <[email protected]>
Christian Marangi [Sun, 7 Dec 2025 22:24:26 +0000 (23:24 +0100)]
generic: add pending patch fixing resource_size()
Add opending patch fixing resource_size(9 if resource start and end is
set to zero.
This is to indirectly fix a helper rework in ath11k qmi code that cause
firmware load panic.
Link: https://github.com/openwrt/openwrt/pull/20964
Signed-off-by: Christian Marangi <[email protected]>
Christian Marangi [Mon, 1 Dec 2025 22:57:53 +0000 (23:57 +0100)]
generic: move reserved_mem backports patch to generic
Move reserved_mem backports patch from airoha to generic dir as it will
be also used by backports package based on 6.18.
Link: https://github.com/openwrt/openwrt/pull/20964
Signed-off-by: Christian Marangi <[email protected]>
Christian Marangi [Thu, 27 Nov 2025 21:00:03 +0000 (22:00 +0100)]
generic: backport support for faux base driver
Backport support for faux base driver needed for backports package to
compile with kernel 6.18.
Link: https://github.com/openwrt/openwrt/pull/20964
Signed-off-by: Christian Marangi <[email protected]>
Álvaro Fernández Rojas [Sat, 6 Dec 2025 16:13:27 +0000 (17:13 +0100)]
odhcp6c: update to Git HEAD (2025-12-06)
1d6c4e794cdb src: convert allow_slaac_only to boolean
8cfe71daaad7 src: stop overriding allow_slaac_only values
aac34157167b odhcp6c: drop script_sync_delay override
05aa750fbe44 config: fix default value for allow_slaac_only
https://github.com/openwrt/odhcp6c/compare/
f19dd37fb467...
1d6c4e794cdb
Also add myself as maintainer.
Signed-off-by: Álvaro Fernández Rojas <[email protected]>
George Moussalem [Sat, 29 Nov 2025 17:01:48 +0000 (21:01 +0400)]
qualcommax: ipq50xx: fix qca8337 dtc warnings
Add missing address-cells and size-cells properties under the switch's
ports node to fix a multitude of below build warnings:
Warning (reg_format): /soc@0/mdio@90000/ethernet-switch@11/ports/port@1:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
Warning (avoid_default_addr_size): /soc@0/mdio@90000/ethernet-switch@11/ports/port@1: Relying on default #address-cells value
Signed-off-by: George Moussalem <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20982
Signed-off-by: Robert Marko <[email protected]>
George Moussalem [Sat, 29 Nov 2025 16:35:55 +0000 (20:35 +0400)]
qualcommax: ipq50xx: remove disabled partitions node
Although the bootloader tries to 'fixup' the qpic nand node, it actually
can't find it as the node was renamed to spi based on the new driver
architecture. The added benefit is that it also silences build warning:
Warning (spi_bus_reg): /soc@0/spi@
79b0000/partitions: missing or empty reg property
Signed-off-by: George Moussalem <[email protected]>
---
Node rename:
old node name: qpic-nand@
79b0000
new node name: spi@
79b0000
Bootloader logs:
Booting using the fdt blob at 0x44d3fc78
Uncompressing Kernel Image ... OK
Loading Device Tree to
4a3f6000, end
4a3ff805 ... OK
fdt_fixup_qpic: QPIC: unable to find node '/soc/qpic-nand@
79b0000'
parse_fdt_fixup: unable to find node '/soc/qpic-nand@
79b0000/'
Link: https://github.com/openwrt/openwrt/pull/20982
Signed-off-by: Robert Marko <[email protected]>
Rosen Penev [Sat, 6 Dec 2025 03:44:33 +0000 (19:44 -0800)]
lantiq: tplink_tdw89x0: use led-sources for wifi LED
Avoids having to create a custom LED for wifi.
Signed-off-by: Rosen Penev <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/21059
Signed-off-by: Hauke Mehrtens <[email protected]>